from setuptools import setup, find_packages
import os

if "PROJECT_ROOT" not in os.environ:
    os.environ["PROJECT_ROOT"] = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

setup(
    name="space-agent",
    version="0.1.0",
    description="AI Agent Enterprise Practice",
    long_description_content_type="text/markdown",
    author="CAO J.M",
    author_email="agncao@gmail.com",
    python_requires=">=3.11.7",
    packages=find_packages(),
    include_package_data=True,
    package_data={
        "": ["*.yml", "*.yaml"],
        "config": ["**/*.yml", "**/*.yaml"],
    },
    data_files=[
        ("config/prod", ["config/prod/.env.prod"]),
    ],
    entry_points={
        "console_scripts": [
            "space-aiagent-api=agent.space.api:run"        
        ],
    }, 
    install_requires=[
        "aiosqlite==0.21.0",
        "annotated-types==0.7.0",
        "anyio==4.9.0",
        "certifi==2025.1.31",
        "charset-normalizer==3.4.1",
        "click==8.1.8",
        "distro==1.9.0",
        "fastapi>=0.110.0",
        "h11==0.14.0",
        "httpcore==1.0.7",
        "httptools==0.6.4",
        "httpx==0.28.1",
        "idna==3.10",
        "jiter==0.9.0",
        "jsonpatch==1.33",
        "jsonpointer==3.0.0",
        "langchain==0.3.21",
        "langchain-core==0.3.49",
        "langchain-openai==0.3.11",
        "langchain-text-splitters==0.3.7",
        "langgraph==0.3.21",
        "langgraph-checkpoint==2.0.23",
        "langgraph-checkpoint-sqlite==2.0.6",
        "langgraph-prebuilt==0.1.7",
        "langgraph-sdk==0.1.60",
        "langsmith==0.3.19",
        "numpy==2.2.4",
        "openai==1.69.0",
        "orjson==3.10.16",
        "ormsgpack==1.9.1",
        "packaging==24.2",
        "pandas==2.2.3",
        "pydantic==2.11.1",
        "pydantic-settings==2.8.1",
        "pydantic_core==2.33.0",
        "PyMySQL==1.1.1",
        "python-dateutil==2.9.0.post0",
        "python-dotenv==1.1.0",
        "pytz==2025.2",
        "PyYAML==6.0.2",
        "regex==2024.11.6",
        "requests==2.32.3",
        "requests-toolbelt==1.0.0",
        "six==1.17.0",
        "sniffio==1.3.1",
        "SQLAlchemy==2.0.40",
        "starlette==0.46.2",
        "tenacity==9.0.0",
        "tiktoken==0.9.0",
        "tqdm==4.67.1",
        "typing-inspection==0.4.0",
        "typing_extensions==4.13.0",
        "tzdata==2025.2",
        "urllib3==2.3.0",
        "uvicorn==0.34.1",
        "uvloop==0.21.0",
        "watchdog==6.0.0",
        "watchfiles==1.0.5",
        "websockets==15.0.1",
        "xxhash==3.5.0",
        "zstandard==0.23.0",
    ],
    extras_require={
        "dev": [
            "pytest>=7.0.0",
            "black>=23.0.0",
            "isort>=5.12.0",
        ],
        "prod": [
            "gunicorn>=21.2.0",
        ],
    },
    classifiers=[
        "Development Status :: 4 - Beta",
        "Intended Audience :: Developers",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.11",
        "Operating System :: OS Independent",
    ],
)